/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package familytree.util;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Antonio
 */
public class Node<T> implements INode {

    public T indentificador;
    public String valor;
    public List<INode> hijos;
    public INode<T> padre;

    public Node(T indentificador, String valor) {
        this.indentificador = indentificador;
        this.valor = valor;
        this.hijos = new ArrayList<INode>();
        this.padre = null;
    }
    
    

    public void addChildren(INode hijo) {
        hijos.add(hijo);
        
    }

    public void addChildrens(List hijos) {
        hijos.addAll(hijos);
    }

    public Object getIdentificador() {
        return indentificador;
    }

    public List getChildrens() {
        return hijos;
    }

    public INode<T> getParent() {
        return padre;
    }

    public boolean isRoot() {
        return getParent() == null;
    }

    public INode getChildren(int i) {
       if (i < hijos.size())
           return hijos.get(i);
       return null;
           
    }

    public String getValor() {
        return valor;
    }

    public void setValor(String s) {
        valor = s;
    }
    
    
}
